﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;
using Tesis.Areas.Distribuciones.Models;
using Tesis.Areas.Modelos.Models;

namespace Tesis.Models
{
    public partial class DBContext : DbContext
    {
        public DbSet<Distribucion> Distribucion { get; set; }
        public DbSet<Modelo> Modelo { get; set; }
        public DbSet<Binomial> Binomial { get; set; }
        public DbSet<Geometrica> Geometrica { get; set; }
        public DbSet<Hipergeometrica> Hipergeometrica { get; set; }
        public DbSet<Pascal> Pascal { get; set; }
        public DbSet<Poisson> Poisson { get; set; }
        public DbSet<Uniforme> Uniforme { get; set; }
        public DbSet<Normal> Normal { get; set; }
        
        
        
        public DBContext()
        //    : base("Data Source=PEDRO-PC;Initial Catalog=Helena;Integrated Security=True")
        //	: base(@"Data Source=HELENA-PC\SQLEXPRESS;Initial Catalog=Helena;Integrated Security=True")	
        {
            //CONEXION A LA BASE DE DATOS
        }

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
            //modelBuilder.Entity<DetalleSalida>().HasRequired(e => e.salida)
            //                                        .WithMany(e => e.detallesalida)
            //                                        .HasForeignKey(e => e.SalidaID)
            //                                        .WillCascadeOnDelete(false);

            //modelBuilder.Entity<DetalleProducto>().HasRequired(e => e.Unidad)
            //                            .WithMany(e => e.DetalleProductos)
            //                            .HasForeignKey(e => e.unidadID)
            //                            .WillCascadeOnDelete(false);

            //modelBuilder.Entity<Producto>().HasRequired(e => e.proveedor)
            //                .WithMany(e => e.productos)
            //                .HasForeignKey(e => e.proveedorID)
            //                .WillCascadeOnDelete(false);

            //modelBuilder.Entity<Entrada>().HasRequired(e => e.Proveedor)
            //                            .WithMany(e => e.Entradas)
            //                            .HasForeignKey(e => e.ProveedorID)
            //                            .WillCascadeOnDelete(false);

            //modelBuilder.Entity<Salida>().HasRequired(e => e.Proveedor)
            //                            .WithMany(e => e.Salidas)
            //                            .HasForeignKey(e => e.ProveedorID)
            //                            .WillCascadeOnDelete(false);

            ////Precision para los productos
            //modelBuilder.Entity<Producto>().Property(t_Productos => t_Productos.preciofabrica).HasPrecision(18, 10);
            //modelBuilder.Entity<Producto>().Property(t_Productos => t_Productos.precioventa).HasPrecision(18, 10);
            //modelBuilder.Entity<DetalleProducto>().Property(t_detalleproducto => t_detalleproducto.PrecioVenta).HasPrecision(18, 10);

            ////Precision para las Entradas
            //modelBuilder.Entity<DetalleEntrada>().Property(t_detalleEntrada => t_detalleEntrada.Igv).HasPrecision(18, 10);
            //modelBuilder.Entity<DetalleEntrada>().Property(t_detalleEntrada => t_detalleEntrada.PrecioU).HasPrecision(18, 10);
            //modelBuilder.Entity<DetalleEntrada>().Property(t_detalleEntrada => t_detalleEntrada.Subtotal).HasPrecision(18, 10);
            //modelBuilder.Entity<DetalleEntrada>().Property(t_detalleEntrada => t_detalleEntrada.Total).HasPrecision(18, 10);

            ////Precision para las Ventas
            //modelBuilder.Entity<CierreCaja>().Ignore(t => t.Ventas);
            base.OnModelCreating(modelBuilder);
        }
    }
}